﻿using ECMS.AppService.Model.Models;
using ECMS.AppService.Model.Requests;
using ECMS.AppService.Model.Requests.AppUser;
using ECMS.AppService.Model.Responses;
using ECMS.Infrastructure.ClientData;
using ECMS.Infrastructure.Domain;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using LoginRequest = ECMS.AppService.Model.Requests.AppUser.LoginRequest;
using RegisterRequest = ECMS.AppService.Model.Requests.AppUser.RegisterRequest;

namespace ECMS.AppService.Interfaces
{
    public partial interface IAppUserService
    {
        Task<ApiResult<SaveResponse>> SaveAsync(AppUserModel model);
        Task<ApiResult<Page<AppUserResponse>>> GetPagesAsync(GetAppUserPagesRequest request);
        Task<AppUserResponse> GetDetailAsync(Guid guid);
        Task<ForumUserResponse> GetDetailAsync(int id);
        Task<ApiResult<string>> DeleteAsync(Guid? guid);
        Task<ApiResult<AppUserResponse>> LoginAsync(LoginRequest request);
        Task<ApiResult<AppUserResponse>> RegisterAsync(RegisterRequest request);
        Task<ApiResult<AppUserResponse>> UpdateLastLoginTime(Guid? guid);
        Task<bool> CheckUser(string loginname, string password);
    }
}
